www.gusucode.com > 线性时频分析工具箱 - ltfat-1.0.1源码程序 > 线性时频分析工具箱 - LTFAT\comp\assert_squarelat.m
function assert_squarelat(a,M,R,callfun,flag) %ASSERT_SQUARELAT Validate lattice and window size. % Usage: assert_squarelat(a,M,R,callfun,flag); % % Input parameters: % a : Length of time shift. % M : Number of modulations. % R : Number of multiwindows. % callfun : Name of calling function. % flag : See below. % % if flag>0 test if system is at least critically sampled. % % This routine deliberately checks the validity of M before a, such % that it can be used for DWILT etc., where you just pass a=M. % % % Copyright (C) 2005-2011 Peter L. Soendergaard. % This file is part of LTFAT version 1.0.1 % This program is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % This program is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with this program. If not, see <http://www.gnu.org/licenses/>. if nargin==4 flag=0; end; if (prod(size(M))~=1 || ~isnumeric(M)) error('%s: M must be a scalar',callfun); end; if (prod(size(a))~=1 || ~isnumeric(a)) error('%s: a must be a scalar',callfun); end; if rem(M,1)~=0 error('%s: M must be an integer',callfun); end; if rem(a,1)~=0 error('%s: a must be an integer',callfun); end; if flag>0 if a>M*R error('%s: The lattice must not be undersampled',callfun); end; end;